package com.booksystem.service;

import com.booksystem.common.RestResult;
import com.booksystem.dto.ProductRankQuery;
import com.booksystem.dto.ReportQuery;
import com.booksystem.vo.ProductRankVO;
import com.booksystem.vo.SalesReportVO;
import com.booksystem.vo.UserBehaviorAnalysisVO;
import java.util.List;

/**
 * <p>
 *   数据统计分析服务接口
 * </p>
 * @author 段伟豪
 */
public interface ReportService {

    /**
     * 生成销售报表
     * @param query 查询参数
     * @return 统一响应结果
     */
    RestResult<SalesReportVO> generateSalesReport(ReportQuery query);

    /**
     * 分析用户行为模式
     * @param query 查询参数
     * @return 统一响应结果
     */
    RestResult<UserBehaviorAnalysisVO> analyzeUserBehavior(ReportQuery query);

    /**
     * 获取商品热销排行
     * @param query 查询参数
     * @return 统一响应结果
     */
    RestResult<List<ProductRankVO>> getProductRank(ProductRankQuery query);
}